The present invention relates generally to the recording and retrieval of digital information on magnetic tape, and more particularly, to the detection and validation of formatted magnetic tape data during read/write data transfer operations to and from the magnetic tape medium.
Magnetic tape drive standards for the recording of digital information on streaming magnetic tape media contemplate the storage of data in one or more tracks (channels) in a sequence of formatted blocks. Each block contains formatting entities utilized by the tape drive controller to oversee and manage the flow of information to and from the tape and to control the magnetic heads and other hardware used during read/write operations.
Formatting entities of interest relative to the present invention include the boundary areas between each block, known as inter-block gaps or IBGs, and entities within the blocks including acquisition burst patterns, intermediate burst patterns, and byte synchronization characters. When engaging in read/write operations, conventional tape drive controllers utilize these formatting entities to acquire essential timing and control information. For example, the presence of an inter-block gap indicates to the controller that a formatted block is approaching and that the controller should next expect an acquisition burst indicating that the block has arrived. When the acquisition burst is sensed, bit synchronization (clocking) of the track read circuits is commenced and the controller begins waiting for the byte synchronization characters. When a sufficient number of byte synchronization characters are detected, the read circuits are byte synchronized and data transfer operations within the formatted block are commenced. Subsequent formatting entities within the block (e.g. resynchronization bursts and resynchronization characters) help maintain bit and byte synchronization as the block is processed.
In some prior art tape drives, the detection and validation of formatted blocks during read/write- data transfer operations is performed by microcode routines executed by the tape drive controller. For example, microcode has been used to perform inter-block gap detection by sampling a register containing bit pattern information reported by the magnetic head and detection circuitry. The microcode subsequently responds to an interrupt from the hardware when the inter-block gap pattern has terminated, at which time the microcode resorts to polling another register to determine if burst acquisition has occurred. If burst acquisition does not occur after a predetermined time, the microcode must perform error recovery. If burst acquisition occurs and the hardware detects a beginning synchronization character, another interrupt is generated to indicate to the microcode that data is now ready for processing. However, in many eases, the microcode is so overloaded that it does not have time to respond to the interrupt and therefore resorts to polling yet another register to determine when the beginning synchronization character bit is set. Again, if the beginning synchronization character is not detected within a specified time, the microcode must again invoke an error recover routine. If enough high-priority interrupts occur during this process, entire blocks can be missed, which in turn requires repositioning and read/write retries. It would be desirable therefore, to provide a magnetic tape data storage device which does not require extensive utilization of microcode resources to perform block detection and validation operations.
It would be further advantageous to provide programmability in the detection and validation of formatted data blocks for plural modes of operation of the tape drive device. Typical modes of operation of magnetic tape storage devices include read-only and read-while-write. Within the context of the present invention, "detection" refers to sensing a formatting entity in any operational mode using detection threshold criteria. "Validation" refers to sensing a formatting entity in a read-while-write mode using validation threshold criteria in order to "validate" what was written. In prior art tape drive devices, inter-block gaps, acquisition bursts and synchronization characters are preprogrammed to detect differently in read-while-write than in read-only. A higher detection criteria is required for read-while-write than for read-only, and the higher read-while-write detection criteria is also used as a write validation criteria. This insures that satisfactory data recording is maintained and permits write retries if recorded data does not meet or exceed the more stringent criteria applicable to the read-while-write mode. However, the need to use a higher validation criteria during read-while-write also raises the read-while-write detection criteria because the two criteria (i.e., read-while-write detection and validation) are the same.
A disadvantage of using preprogrammed, non-uniform detection criteria in the read and read-while-write modes is that block formatting entities may be detected at different portions of the tape in each mode. For example, a lower read-only criteria may result in detection of an acquisition burst before burst detection occurs in the read-while-write mode. Acquisition bursts are used to initiate frequency lock in the phase lock loop (PLL) circuits for bit synchronization. If different criteria are used to detect the acquisition burst in the read-only mode than when a block is written, a different portion of the beginning burst may be used for clock acquisition, and if that portion of the tape is defective, the clock may not be able to lock on to the data at all. It would be preferable to commence clock acquisition at the same location on the tape, regardless of mode.
Another disadvantage arising from the use of preprogrammed non-uniform detection criteria in different operational modes of the tape drive results when write-skipping is performed. In write-skipping, a data write error results in a write retry being made without rewinding the tape. The tape drive finishes writing blocks in the pipeline and then executes the write retry. Write errors can result from debris causing the tape to lift away from the write heads momentarily. The microcode generates a write error because the read circuits do not detect the block using the read-while-write threshold criteria. In some cases, the portion of the tape causing the write error contains old blocks of data. Because the write retry occurs downstream, however, the old data blocks remain on the tape and may be read during subsequent reading of the tape (using the less-stringent read-only criteria), resulting in block ID sequence errors or data integrity errors.
Accordingly, there is an evident need in the art for a magnetic tape drive device that overcomes the foregoing disadvantages by implementing formatted block detection and validation operations in hardware and by employing programmable detection and validation criteria across plural modes of operation of the tape drive. A hardware-based system would remove much of the block detection and validation overhead from the controller microprocessor. Providing programmable detection and validation criteria would permit the application of nominally uniform detection criteria across plural operational modes, yet still allow the use of different validation criteria, as well as different detection criteria under special circumstances.